package com.fowo.api.model.inventory.list.subtable;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 盘点单子表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class InventoryListSubtableImportPo {

  /** 所属盘点单 */
  @ExcelProperty("所属盘点单")
  @Size(max = 50, message = "所属盘点单长度不能超过50")
  private String parentInventoryListWarehouseStock;

  @ExcelIgnore
  @Schema(title = "所属盘点单")
  private String parentInventoryList;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 500, message = "品名长度不能超过500")
  private String tradeNameName;

  @ExcelIgnore
  @Schema(title = "品名")
  private String tradeName;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String shopShopName;

  @ExcelIgnore
  @Schema(title = "店铺")
  private String shop;

  /** 仓位 */
  @ExcelProperty("仓位")
  @Size(max = 50, message = "仓位长度不能超过50")
  private String shippingSpaceStorageBin;

  @ExcelIgnore
  @Schema(title = "仓位")
  private String shippingSpace;

  /** 仓位类型 */
  @ExcelProperty("仓位类型")
  private String shippingSpaceType;

  /** 账面库存 */
  @ExcelProperty("账面库存")
  @IntegerString(
    message = "账面库存数值格式不正确",
    label = "账面库存",
    min = 0
  )
  private String inventory;

  /** 实盘库存 */
  @ExcelProperty("实盘库存")
  @IntegerString(
    message = "实盘库存数值格式不正确",
    label = "实盘库存",
    min = 0
  )
  private String firmInventory;

  /** 盘点差异 */
  @ExcelProperty("盘点差异")
  @IntegerString(
    message = "盘点差异数值格式不正确",
    label = "盘点差异",
    min = 0
  )
  private String intensityDifference;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remark;

  /** 盘点时间 */
  @ExcelProperty("盘点时间")
  @DateTimeString(message = "盘点时间不是有效的时间日期格式")
  private String intensityTime;
}
